Configuração detalhada do Tesseract
Quando se trata de OCR, ter opções e flexibilidade sobre como abordar e extrair texto de documentos é essencial. Como a execução de OCR é dispendiosa, é necessário controlar o desempenho e os métodos a serem usados em documentos específicos para garantir que o aplicativo que utiliza OCR seja escalável e eficiente.
IronTesseract oferece aos desenvolvedores diferentes propriedades e opções para personalização. Por exemplo, se você quisesse bloquear certos caracteres, ler os códigos de barras dentro dos documentos ou até mesmo ditar como o mecanismo de OCR lê a página para procurar possíveis blocos de texto, tudo isso e muito mais com a classe IronTesseract.
- `var ocrTesseract = new IronTesseract();`
- `ocrTesseract.Language = OcrLanguage.EnglishBest;`
- `ocrTesseract.Configuration.ReadBarCodes = false;`
- `ocrTesseract.Configuration.BlackListCharacters = "`ë|^";`
- `ocrTesseract.Configuration.TesseractVariables["tessedit_parallelize"] = false;`
Após iniciar a classe IronTesseract, existem algumas opções importantes imediatamente disponíveis que gostaríamos de modificar. A primeira propriedade a ser configurada é a Language. Por padrão, o idioma é o inglês; no entanto, IronTesseract suporta até 125 idiomas e permite até mesmo vários idiomas com o método UseMultipleLanguages. Para obter mais detalhes, consulte aqui .
A segunda propriedade que queremos configurar é a classe TesseractConfiguration. Com essa classe, podemos modificar a forma como o mecanismo do Tesseract examina o documento em busca de possíveis blocos de texto.
- Em primeiro lugar, modificamos a linguagem do Tesseract Engine atribuindo a linguagem a
OcrLanguage.EnglishBest. Essa variação combina uma LSTM e uma OEM, que são estratégias de reconhecimento de formas usando OCR; A combinação dessas duas estratégias permite que o OCR produza resultados mais precisos. - Em seguida, definimos
ReadBarCodescomo falso para evitar a leitura de códigos de barras durante o processo de OCR.
Além disso, personalizamos e especificamos ainda mais os caracteres que desejamos extrair, bloqueando determinados caracteres no documento; Neste exemplo, definimos uma lista negra de caracteres para evitar a extração de texto com crases, acentos ou circunflexos. Finalmente, definimos TesseractVariables["tessedit_parallelize"] como falso para desativar o processamento paralelo por enquanto. Esta última é uma funcionalidade realmente poderosa, pois interage diretamente com o mecanismo Tesseract. Aqui está uma lista completa de TesseractVariables que permite aos desenvolvedores personalizar ainda mais o comportamento do mecanismo Tesseract ao realizar OCR.

